import { IRequestConfig, IResponse } from '@/lib/types/data.interface';
import axios from 'axios'
import fileSaver from 'file-saver'

const instance = axios.create({
    timeout: 1000,
    headers: {
        'Content-Type': 'application/json'
    }
});

instance.interceptors.request.use((requestConfig: IRequestConfig)=>{
    console.log('外部', requestConfig.data)
    if(!requestConfig.data) {
        requestConfig.data = {}
    }
    requestConfig.data['type'] = 12
    /**新增全局字段 */

    return requestConfig
})

instance.interceptors.response.use((res: IResponse)=>{
    /**判断业务状态码 */
    console.log(res)
    return res.data
}, (err)=>  {
    console.log(err)
    if(err.response) {
        /**服务器返回异常   */
        return Promise.reject('服务器异常， 请稍后重试')
    } else if(err.request) {
        /**请求已发出， 请求超时 */
        return Promise.reject('请求出错 服务未返回')
    } else {
        /**前端未发起请求，出现错误 */
        return Promise.reject('请求出错，请检查请求参数')
    }
})

export default instance